import axios from 'axios'
import Cookies from 'js-cookie'
import {
  Message
} from 'element-ui'
// 导入 NProgress 包对应的JS和CSS
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
const request = axios.create({
  baseURL: 'http://127.0.0.1:8210/' // 请求的基础路径
  // baseURL: 'http://192.168.30.134:8210/' // 请求的基础路径
})
function getAbsolutePath() {
  const path = location.pathname
  return path.substring(0, path.lastIndexOf('/') + 1)
}
// 添加请求拦截器
request.interceptors.request.use(function(config) {
  NProgress.start()
  const token = Cookies.get('token')
  if (token) {
    config.headers.token = token
  }
  return config
}, function(error) {
  return Promise.reject(error)
})

// 响应拦截器
request.interceptors.response.use(function(response) {
  NProgress.done()
  // 对所有响应的数据进行初次处理
  response = response.data
  // 如果是 20000，说明数据获取正常
  // 如果是 22000，说明鉴权失败
  // 都不是，别的错误，输出错误信息
  if (response.code === 20000) {
    // Message.success(response.message)
    return response
  } else if (response.code === 22000) {
    Message.warning(response.message)
    window.location.href = getAbsolutePath()
  } else {
    Message.warning(response.message)
    return Promise.reject(response.message)
  }
}, function(error) {
  return Promise.reject(error)
})
// 导出请求方法
export default request
